找传奇、传世资源到传世资源站!

C# 读取大文件示例(可以读取3GB大小的txt文件)

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

from clipboardusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace ReadBigTxtDemo{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnRead_Click(object sender, EventArgs e) { if (ReadBigFile()) { lblResult.Text = "Completed!"; } } private bool ReadBigFile() { string sTmpFile=@"c:\tmpTest.txt"; if (File.Exists(sTmpFile)) { File.Delete(sTmpFile); } if (!System.IO.File.Exists(sTmpFile)) { FileStream fs; fs = File.Create(sTmpFile); fs.Close(); } if (!File.Exists(txtFileName.Text.Trim())) { lblResult.Text = "File not exist!"; txtFileName.Focus(); return false; } FileStream streamInput = System.IO.File.OpenRead(@txtFileName.Text.Trim()); FileStream streamOutput = System.IO.File.OpenWrite(sTmpFile); int iRowCount = 10; int.TryParse(txtRowCount.Text.Trim(), out iRowCount); try { for (int i = 1; i <= iRowCount; ) { int result = streamInput.ReadByte(); if (result == 13) { i ; } if (result == -1) { break; } streamOutput.WriteByte((byte)result); } } finally { streamInput.Dispose(); streamOutput.Dispose(); } string sContent = ReaderFile(sTmpFile); CopyToClipboard(sContent); return true; } public static string ReaderFile(string path) { string fileData = string.Empty; try { ///读取文件的内容 StreamReader reader = new StreamReader(path, Encoding.Default); fileData = reader.ReadToEnd(); reader.Close(); } catch (Exception ex) { // throw new Exception(ex.Message,ex); } ///抛出异常 return fileData; } private void CopyToClipboard(string sSource) { Clipboard.Clear(); if (!string.IsNullOrEmpty(sSource)) { Clipboard.SetText(sSource); } } private void label2_Click(object sender, EventArgs e) { } }}

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复